package io;

import java.io.File;
import java.util.Scanner;

public class IODemo11 {
    private static Scanner in = new Scanner(System.in);
    public static void main(String[] args) {
        // 先让用户输入一个指定路径
        System.out.println("请输入路径: ");
        String basePath = in.next();

        // 判断是不是一个路径
        File root = new File(basePath);
        if (!root.isDirectory()) {
            System.out.println("输入错误!");
            return;
        }

        // 输入要删除的文件名
        System.out.println("请输入文件名: ");
        String nameToDelete = in.next();

        scanDir(root, nameToDelete);
    }

    private static void scanDir(File root, String nameToDelete) {
        // 列出root下的目录
        File[] files = root.listFiles();
        if (files == null) {
            // 空目录, 结束递归
            return;
        }

        // 遍历结果
        for (File f : files) {
            if (f.isDirectory()) {
                // 是目录, 进一步递归
                scanDir(f, nameToDelete);
            } else {
                // 如果是文件, 询问是否要删除
                if (f.getName().contains(nameToDelete)) {
                    System.out.println("是否要删除" + f.getAbsoluteFile() + "? (y/n)");
                    String choice = in.next();
                    if (choice.equals("y") || choice.equals("Y")) {
                        f.delete();
                        System.out.println("删除成功!");
                    } else {
                        System.out.println("删除取消!");
                    }
                }
            }
        }
    }

}
